import java.util.ArrayList;
import java.util.List;

import algorithm.LocalAlignment;


public class main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		LocalAlignment l = new LocalAlignment();
		l.setStr1("ATCAGAGTC");
		l.setStr2("GTCAGTCA");
/*		
		l.setStr1("CCTGGGGCAGATGCTCGATCCACTGAAGGAGCGCATCCAGTGCGTT");//CGAGAAGCGGGTGGAGGAAAGCTACCAGCAGGAAGCGCGCGAGCGTTTCTCCCTGAGCAAGGAACTGGAGCGTCTGCAGCAGCTCAACCTGCGCCTGGGCGAGGAAGCGACCAACCTGACCCGCGCGCTCAAGGGCCAGAAGACCCAGGGCAACTGGGGCGAACTGGTGCTGGAGCGGGTGCTCGAGCATGCAGGCCTGGAAAAAGGCCGGGAATACGAGACCCAGGTCAGCCTGAAGGGTGCCGAGGGCGAACGCTTCCAGCCGGACGTGCTGATCCGCCTGCCCGGCGACAAGCAGGTGGTGGTGGATGCCAAGGTCAGTCTCACGGCCTACCAGCAGTACATCGCCGCTGACGACGATCTGCTGCGCCAGCAGGCGCTGAAGCAGCACGTAACGTCGTTGCGCAACCATGTGAAAGGCCTCTCCGGCAAGGACTATCGACGCCTGGAAGGATTGCACAGCCTCGACTTCGTCCTGCTGTTCATGCCGATCGAGGCGGCTTTCTCGACGGCCCTGCAGGCCGAGCCGAACCTGTTCCAGGACGCCTTCGCGCAGAATATCGTGATCGTCAGCCCGACCACCCTGCTGGCCACCCTGCGGGTAATCGACAGCCTCTGGCGCCAGGAGCGGCAGAACCAGAATGCGCGGGAAATCGCCGAACGTGCCGGTTCGCTGTATGACAAGTTCGTGCTCTTCGTCCAGGACCTCGATGAGGTTGGTTCGCGCCTGCAGCAACTGGACAAGGCCTATGCCGCGGCGCGCAACAAGCTCACCGAGGGACGTGGCAACCTGATCAGTCGCAGCGAGCAACTCAAGCTGCTCGGTGCCCGCGCCAGCAAGAACCTGCCGACGGACTGGCTGGACCGGGCGCTGGTGGCGCCCGTGGAAGAGGCCGGAGAGGAGTGA");
		l.setStr2("ATGCCCCGACCACTTTCCCACCGGAACTTGCCCATGACGCCCCAAGGC");//CACTGTGACAGCCGTTTCGCCCCGCTTGCCGAGGCCTTCGCCCGGCTTTTCGACAATCCGCAGGAGCGCGGCGCGGCGTTGTGCCTGGAGGTCGGTGGCGAGACGGTGGTCGACCTCTGGGGCGGCGTCGCGGACAAGGACGGCGAGCAGCCCTGGCAGCGCGACACCATCCTCAATCTGTTCTCCTGCACCAAGACCTTCACCGCCGTTGCCGTGCTGCAACTGGTGGCCGAGGGCAAGCTCGAACTGGACGCGCCGGTGGCACACTACTGGCCCGAGTTCGCCGCGGCCGGCAAGGCAGCGATCAGCGTGCGCCAGTTGCTCTGCCATCGCGCCGGCCTGCCGGCGCTGCGCGAGCAGATGCCGCCCGAGGCACTCTACGACTGGCAGGCGATGACCACGGCACTGGCCGCCGAGGAGCCCTGGTGGACGCCTGGCGAAGCGCACGGCTATGCACCGATTACCTATGGCTGGCTGCTCGGCGAGGTGATCCGCCGGGTCGACGGCCGCGAGCCGGGCGAGGCCATCGTGGCGCGCACCGCGGCACCGCTGGGCCTGGATTTCCATGTCGGCCTGGACGACAGCCAGTTCGGCCGCGTCGCCCACATGGCACGGAGCAAGGGCAGCCTCGGCGACGCTGCCGCCCAGCGCATGCTGAAGACCATGATGAGCGAGCCATTGGCGCTGACCACCCGTGCCTTCACCAATCCGCCGTCGATCCTCACCAGCACCAACAAGCCGGAATGGCGACGCATGCAGCAGCCGGCCGCCAATGGCCATGGCAACGCGCGCGCGCTCGCCGGCTTCTATAGCGGCCTGTTGCAGGGACGTTTGCTGGAAGATGAACTGCTGGGCCAGTTGGCCCACGAACACGCGGTAGGCGAGGATCGGACCTTGCTGACCCGGACCCGCTTCGGCCTCGGCACCATGCTCGACCAACCGGGCGTGGCCAATGCGACCTACGGACTCGGCCCCAAGGCCTTCGGCCACCCTGGGGCGGGTGGCTCGATCGGCTTCGCCGATCCCGAGCGCGACCTGGCTTTTTCCTTTGTCAGCAACGCCTTGGGGCCGTATGTGCTGATGGATCCGCGGGCGCAGCAGCTGGCGCGTGTCGCGGGGGAGTGTCTGTAA");
		*/
		l.setThreshhold(3);
		
		l.opt_alignment();
		l.showResult();
		l.printMatrix();
		l.printHashtable();
		
		System.out.println("\n");
		l.sub_alignment();
		l.sub_backtrack();
		l.printSubMatrix();
		l.printSubHashtable();
/*		System.out.println(l.opt_alignments.size());
		System.out.println(l.sub_alignments.size());
		System.out.println(l.largest);*/
		
	}

}
